package com.sikulifang.bank.simulation.service;

import cn.hutool.core.lang.Dict;
import com.sikulifang.bank.simulation.constant.TableConstants;

import java.math.BigDecimal;
import java.util.List;


/**
 * ClassName IAccountService
 * Description IAccountService
 *
 * @author Yat
 * Date 2023年6月9日, 0009 17:12
 * version 1.0
 */
public interface IAccountService extends IService {

    default String getTableName() {
        return TableConstants.ACCOUNT_TABLE_NAME;
    }

    List<String> findAccountNameByBankName(String bankName);

    List<String> findAccountNoByBankName(String accountName, String bankName);

    /**
     * Description: 充值
     * <p>
     * Date: 2023年6月9日, 0009 17:19
     *
     * @param id    账号
     * @param money 充值的金额
     */
    void recharge(String id, BigDecimal money);

    /**
     * Description: 查询所有账号,不分页
     * <p>
     * Date: 2023年6月12日, 0012 17:06
     *
     * @param account 排除的账号
     * @return {@link Dict}
     */
    Dict findAll(String account);
}
